4 research outputs found

    MEGA: Malleable Encryption Goes Awry

    Get PDF
    MEGA is a leading cloud storage platform with more than 250 million users and 1000 Petabytes of stored data. MEGA claims to offer user-controlled, end-to-end security. This is achieved by having all data encryption and decryption operations done on MEGA clients, under the control of keys that are only available to those clients. This is intended to protect MEGA users from attacks by MEGA itself, or by adversaries who have taken control of MEGA’s infrastructure. We provide a detailed analysis of MEGA’s use of cryptography in such a malicious server setting. We present five distinct attacks against MEGA, which together allow for a full compromise of the confidentiality of user files. Additionally, the integrity of user data is damaged to the extent that an attacker can insert malicious files of their choice which pass all authenticity checks of the client. We built proof-of-concept versions of all the attacks. Four of the five attacks are eminently practical. They have all been responsibly disclosed to MEGA and remediation is underway. Taken together, our attacks highlight significant shortcomings in MEGA’s cryptographic architecture. We present immediately deployable countermeasures, as well as longer-term recommendations. We also provide a broader discussion of the challenges of cryptographic deployment at massive scale under strong threat models

    Puncturable Key Wrapping and Its Applications

    Get PDF
    We introduce puncturable key wrapping (PKW), a new cryptographic primitive that supports fine-grained forward security properties in symmetric key hierarchies. We develop syntax and security definitions, along with provably secure constructions for PKW from simpler components (AEAD schemes and puncturable PRFs). We show how PKW can be applied in two distinct scenarios. First, we show how to use PKW to achieve forward security for TLS 1.3 0-RTT session resumption, even when the server\u27s long-term key for generating session tickets gets compromised. This extends and corrects a recent work of Aviram, Gellert, and Jager (Journal of Cryptology, 2021). Second, we show how to use PKW to build a protected file storage system with file shredding, wherein a client can outsource encrypted files to a potentially malicious or corrupted cloud server whilst achieving strong forward-security guarantees, relying only on local key updates

    When Messages are Keys: Is HMAC a dual-PRF?

    Get PDF
    In Internet security protocols including TLS 1.3, KEMTLS, MLS and Noise, HMAC is being assumed to be a dual-PRF, meaning a PRF not only when keyed conventionally (through its first input), but also when swapped and keyed (unconventionally) through its second (message) input. We give the first in-depth analysis of the dual-PRF assumption on HMAC. For the swap case, we note that security does not hold in general, but completely characterize when it does; we show that HMAC is swap-PRF secure if and only if keys are restricted to sets satisfying a condition called feasibility, that we give, and that holds in applications. The sufficiency is shown by proof and the necessity by attacks. For the conventional PRF case, we fill a gap in the literature by proving PRF security of HMAC for keys of arbitrary length. Our proofs are in the standard model, make assumptions only on the compression function underlying the hash function, and give good bounds in the multi-user setting. The positive results are strengthened through achieving a new notion of variable key-length PRF security that guarantees security even if different users use keys of different lengths, as happens in practice

    Puncturable Symmetric KEMs for Forward-Secret 0-RTT Key Exchange

    No full text
    The latest version of the Transport Layer Security protocol (TLS 1.3) introduces a pre-shared key zero round-trip time (0-RTT) mode. This enables session resumption with no latency before the first application data can be sent, at the cost of losing forward secrecy and replay protection. There is high demand from Internet companies for this performance-enhancing feature, and some service providers have chosen to already enable it by default despite the security compromise currently associated to it. In this work we explore the possibility to achieve forward secrecy for resumed sessions in 0-RTT mode, mitigating the security risks presently adherent to it. To abstract the key exchange in TLS 0-RTT mode, we introduce a new primitive which we call symmetric-key key encapsulation mechanisms (S-KEMs). Forward secrecy is attained through ``puncturing'' of the secret key, which we capture formally by puncturable S-KEMs (PS-KEMs). Furthermore, to enable optimizations that leverage ordering and to achieve the greatest possible generality of our model, we also introduce stateful versions of S-KEMs and PS-KEMs. We examine the relationship between these new primitives, give game-based functionality and security notions and show how pseudorandom functions (specifically based on the Goldreich-Goldwasser-Micali construction) can be used to build instantiations which meet the security goals.I den senaste versionen av kommunikationsprotokollet Transport Layer Security (TLS 1.3), introducerades en funktion som möjliggör att sessioner Äterupptas i ``zero round-trip time'' (översatt: noll tur- och returtid, förkortat 0-RTT) vilket innebÀr att snabbare uppkoppling Àr möjlig eftersom krypterad applikationsdata kan skickas redan med det första dataflödet frÄn klient till server. För att uppnÄ detta anvÀnds krypteringsnycklar som har förhandlats fram i tidigare sessioner, sÄ kallade ``pre-shared keys'' (översatt: tidigare delade nycklar). TyvÀrr innebÀr den nya funktionen att kommunikationen inte lÀngre Àr sÀker mot framtida korruption av dessa lÄnglivade nycklar. Detta kallas för avsaknad av ``forward secrecy'' (översatt: framÄtsÀkerhet). Trots de lÀgre sÀkerhetsgarantierna Àr efterfrÄgan pÄ 0-RTT-funktionen stor bland internetleverantörer eftersom den ger en markant hastighetsökning, framförallt för mobila nÀtverk dÀr latensen Àr hög. I det hÀr arbetet undersöker vi möjligheten att behÄlla den snabba Äteruppkoppling, men samtidigt uppnÄ samma sÀkerhet som vid en vanlig anslutning. Detta görs genom en abstraktion av nyckelutbytet i en TLS-session, vilket vi modellerar med ett nytt kryptografiskt objekt som vi har döpt till ``symmetriska nyckelinkapslingsmekanismer'' (S-KEMs). Forward secrecy uppnÄs genom införandet av ``nyckelpunktering'', vilket vi modellerar med s.k. punkterbara S-KEMs (PS-KEMs). Vi formaliserar funktionalitet- och sÀkerhetsmÄlen med hjÀlp av spelbaserade definitioner för S-KEMs och PS-KEMs. Vi ger Àven exempel pÄ hur algoritmer kan konstrueras för att uppnÄ mÄlen, samt utvidgar modellen till att Àven innefatta ordningsföljden av Äteranslutna sessioner för att möjliggöra optimeringar.Integritet pÄ nÀtet eller snabb uppkoppling? Med dagens krypteringsmetoder Àr det antingen eller, men i framtiden behöver vi kanske inte kompromissa. ------------------------------------------------------------------- I takt med att samhÀllet digitaliseras flyttas alltmer kommunikation till internet, vilket i mÄnga fall gör livet smidigare. Samtidigt blir vi mer sÄrbara dÄ data som skickas över nÀtet eller lagras online riskerar att lÀcka ut och bli allmÀnt kÀnd. För att vÀrna om vÄr integritet och sÀkerhet vidtas ÄtgÀrder för att dölja information som skickas via nÀtet, men dessa insatser Àr tidskrÀvande och innebÀr extra överföringar vilket gör uppkopplingen lÄngsammare. Mer specifikt skyddas internetanslutningar till webbadresser som inleds med 'https' idag av kryptering som gör kommunikationen olÀslig för alla utomstÄende. Utan tillgÄng till nycklar som "lÄser upp" och dechiffrerar de krypterade meddelandena Àr de inget mer Àn rappakalja. För att de kommunicerande parterna ska kunna ta del av innehÄllet krÀvs dÀrför att de utbyter krypteringsnycklar. Detta sker i början av uppkopplingen för att se till att krypteringen i varje anslutning Àr oberoende av tidigare sessioner. Man kan sÀga att nycklarna Àr som engÄngsartiklar. De förhandlas fram, anvÀnds i en session och slÀngs sedan. SjÀlva utbytet, nÀr parterna kommer överens om nycklarna, bromsar uppkopplingen och gör att anslutningen upplevs som lÄngsam. Men det finns snabbare sÀtt. Nyligen lanserades en snabbuppkopplingsfunktion som gör det möjligt att Äteransluta utan det inledande nyckelutbytet. Förenklat kan man sÀga att om de kommunicerande parterna har varit i kontakt tidigare och redan delar nycklar frÄn en tidigare session, sÄ kan dessa ÄteranvÀndas för att kryptera Àven framtida anslutningar. Effekten blir en markant prestandaökning. TyvÀrr ger den nya funktionen lÀgre sÀkerhetsgarantier Àn vid ett fullt nyckelutbyte. Detta eftersom ÄteranvÀndningen av kryptografiskt material potentiellt leder till att alla sessioner dÀr samma nycklar har anvÀnts blir oskyddade om nycklarna lÀcker ut. Det finns naturligtvis alltid en risk att nÄgon knÀcker krypteringen eller kommer över de nycklar som anvÀnds, men dÄ engÄngsnycklar anvÀnds leder det bara till att kommunikationen i den pÄgÄende sessionen blir synlig för förövaren. Om nycklarna dÀremot har anvÀnts till flera sessioner, riskerar alla dessa att bli oskyddade. I det hÀr arbetet undersöks möjligheten att behÄlla den snabba uppkopplingen som den nya funktionen ger, men utan att behöva kompromissa om sÀkerheten. Idén bygger pÄ ett smart sÀtt att ÄteranvÀnda nycklar. IstÀllet för att anvÀnda exakt samma nyckel till flera sessioner uppdateras nyckeln mellan varven, sÄ att tidigare sessioners kommunikation inte gÄr att dekryptera om den nya, förÀndrade nyckeln lÀcker ut. Operationen kallas för punktering, och man kan förestÀlla sig att förmÄgan att dekryptera vissa meddelanden försvinner nÀr nyckeln punkteras, ungefÀr som nÀr en biljett klipps efter anvÀndning. Den gÄr fortfarande att anvÀnda till framtida sessioner, men avslutad kommunikation som nyckeln har "punkterats pÄ" Àr lika olÀsbar med den punkterade nyckeln som utan den. Det hÀr projektet har gÄtt ut pÄ att skapa en modell som visar hur punkterade nycklar skulle kunna anvÀndas för att ge bÄde snabb uppkoppling och den önskade sÀkerheten. Modellen bestÄr av en ny matematisk abstraktion som fÄngar hur den nya funktionen tillÄter snabba uppkopplingar. Den innehÄller ocksÄ en pÄbyggnad som beskriver hur punktering kan anvÀndas för högre sÀkerhetsgarantier. Modellen visar att det i teorin Àr möjligt att genom punktering uppnÄ bÄde hög sÀkerhet och prestanda, men att det finns vissa nackdelar med tillvÀgagÄngssÀttet. Framförallt Àr det problematiskt att de punkterade nycklarna krÀver mer lagringsutrymme Àn vanliga nycklar, vilket i vissa fall kan vara ett hinder. I arbetet har det dÀrför ocksÄ undersökts hur ordningsföljden av Äteranslutna sessioner skulle kunna utnyttjas för att hÄlla ned storleken pÄ de punkterade nycklarna. Detta genom att designa algoritmer sÄ att det vid normal anvÀndning skapas platseffektiva "punkteringsmönster". Studien visar att det finns potential hos förslaget. För att avgöra om idén med punkterbara nycklar Àr vÀrd att lansera i stor skala krÀvs dock fortsatta undersökningar dÀr konstruktioner implementeras och testas pÄ verkliga scenarion
    corecore